Modularity in Structural Operational Semantics (extended Abstract)
نویسنده
چکیده
Modularity is an important pragmatic aspect of semantic descriptions: good modu-larity is needed to allow the reuse of existing descriptions when extending or changing the described language. In denotational semantics, the issue of modularity has received much attention, and appropriate abstractions have been introduced, so that deenitions of semantic functions may be independent of the details of how computations are modelled. In structural operational semantics (SOS), however, this issue has largely been neglected, and SOS descriptions of programming languages typically exhibit rather poor modularity. This paper shows how to obtain a high degree of modularity in SOS. The main idea is quite simple: conngurations are restricted to pure syntax|enriched, as usual, with computed values|and all the usual semantic components of conngurations are incorporated in the labels on the transitions. Moreover, the labels are regarded as the arrows of a category, and are equipped with various language-independent operations, allowing the structure of labels to be abstracted from the rules used to specify transitions. It appears that the category of labels needed for describing a particular language may be obtained in a modular way using constructors that correspond to monad transformers. The reader is assumed to be familiar with basic notions of semantics and programming languages.
منابع مشابه
Semantics, Modularity, and Rewriting Logic Mosses 1 Modularity in Denotational Semantics Sition Relation Involving Semantic Action Arguments from a X : ! : X a X X and Its Reeexive-transitive Closure
A complete formal semantic description of a practical programming language (such as Java) is likely to be a lengthy document, regardless of which semantic framework is being used. Good modularity of the description is important to the person(s) developing it, to facilitate reuse, change, and extension. Unfortunately, the conventional versions of the major semantic frameworks have rather poor mo...
متن کاملModularity , and Rewriting Logic
A complete formal semantic description of a practical programming language (such as Java) is likely to be a lengthy document, regardless of which semantic framework is being used. Good modularity of the description is important to the person(s) developing it, to facilitate reuse, change, and extension. Unfortunately, the conventional versions of the major semantic frameworks have rather poor mo...
متن کاملSemantics, modularity, and rewriting logic
A complete formal semantic description of a practical programming language (such as Java) is likely to be a lengthy document, regardless of which semantic framework is being used. Good modularity of the description is important to the person(s) developing it, to facilitate reuse, change, and extension. Unfortunately, the conventional versions of the major semantic frameworks have rather poor mo...
متن کاملBi-inductive Structural Semantics: (Extended Abstract)
We propose a simple order-theoretic generalization of set-theoretic inductive de nitions. This generalization covers inductive, co-inductive and bi-inductive de nitions and is preserved by abstraction. This allows the structural operational semantics to describe simultaneously the nite/terminating and in nite/diverging behaviors of programs. This is illustrated on the structural bi nitary small...
متن کاملSubstructural Operational Semantics and Linear Destination-Passing Style (Invited Talk)
We introduce substructural operational semantics (SSOS), a presentation form for the semantics of programming languages. It combines ideas from structural operational semantics and type theories based on substructural logics (such as linear logic) in order to obtain a rich, uniform, and modular framework. We illustrate SSOS with a sequence of specifications, starting from a simple functional la...
متن کامل